package javacommon.util;

import java.io.IOException;
import java.util.Properties;

import org.springframework.core.io.support.PropertiesLoaderUtils;

/**
* 项目名称：LIMS_v1   
* 类名称：AdapterSql   
* 类描述： 取得自适应数据库的SQL语句  
* 创建人：zangzh   
* 创建时间：2013-7-24 下午09:11:42   
* 修改人：zangzh   
* 修改时间：2013-7-24 下午09:11:42   
* 修改备注： 
* @version
 */
public class AdapterSql {
	private AdapterSql(){}
	private static Properties properties;
	private static Properties propertiesApp;
	static{
		try {
			properties = PropertiesLoaderUtils.loadAllProperties("javacommon/database/generic_queries.sql");
			propertiesApp = PropertiesLoaderUtils.loadAllProperties("app.properties");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 取得自适应Sql
	 * @param key
	 * @return
	 */
	public static String GetSQL(String key) {
		String prefix = propertiesApp.getProperty("hibernate.dialect");
		prefix = prefix.replace("org.hibernate.dialect.", "").replace("Dialect", "");
		return properties.getProperty(prefix+"."+key);
	}
	/**
	 * 简单替换Sql里的参数
	 * @param key
	 * @param objs
	 * @return
	 */
	public static String GetSQL(String key,Object...objs) {
		String sql = GetSQL(key);
		for (int i = 0; i < objs.length; i++) {
			sql = sql.replaceFirst("\\?", objs[i].toString());
		}
		return sql;
	}
	public static void main(String[] args) {
		String str = properties.getProperty("SQLServer2005.findLandByCorpno");
		System.out.print(str);
	}
	
}
